iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0
AI & Data

看對話學 Python 資料分析,用情境故事帶你入門系列 第 6

Day-6 想成為資料分析師?熟悉基礎串列 list 運用準沒錯!(上)

  • 分享至 

  • xImage
  •  


一個一個數,就能把想要的內容印出來,list的基礎運用在這裡!Licensed by Adobe Stock

上次 Jason 已經教 Meiko 運用for-loop及串列list的一點點內容,成功印出星期一到星期日了!但好像還是缺了些內容,讓我們繼續看下去...

Meiko:「是老師教得好,不過我也蠻聰明的拉!等一下,我發現我們只把星期一到星期日印出來,可是 Jason,我原本想的是要程式告訴我每天花多少錢耶!」

Jason:「現在,你已經會印出星期一到星期日了存在weekName裏邊 ,然後你又有每一天花的錢存在spendList 裡面。你覺得這兩個串列有什麼共通點?」

spendList=[205,350,520,240,330,180,2000]
weekName=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']

Meiko:「我看一下,看起來兩個串列都有 7 個資訊,spendList裡面存的是我花的錢,weekName裡面存的是星期一到星期日,所以如果我可以找到一個方法,把每一天花的錢,對上那一天叫做星期幾,程式應該又可以告訴我那天花了多少錢?是這樣嗎?」

Jason :「沒錯!」

Meiko:「但我對怎麼印出來不太有想法耶,我只想到『星期一:205元,星期二:350元...這樣的呈現方法。』」

Jason:「你要不要想想看,如果是星期一的話,就印出星期一花的錢?」

Meiko:「那就只要專注在星期一就好了,聽起來好像比較簡單一些,但我還是不知道要怎麼做耶!」

Jason:「你記得我們在 Day-3 腦波弱?讓程式協助你判斷 !的時候教過if-else判斷式?」

Meiko:「歐!記得!所以是要用if等於星期一的意思嗎?」

Jason:「可以這樣理解,要讓程式比對出星期一的話for-loop的變數i就要在讓它等於 0 對吧?」

Meiko:「星期一是第一個元素,第一個元素是從 0 開始!」

Jason:「沒錯!所以應該會有一個if i==0:的條件判斷式,讓程式可以取出串列對應的數值,像這樣」

spendList=[205,350,520,240,330,180,2000]
weekName=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
for i in range(7):
	if i==0:
		print (weekName[i],spendList[i])

Meiko:「但印出來好像都是數字,看不出來是什麼意義?」

Jason:「啊,因為我還沒教你如何顯示帶有參數的字串。」

Meiko:「帶有參數的字串?聽起來像外星語...」

Jason:「像這樣,你看print在『元』這個字後面有一個%,之後括號裡面有兩個參數分別是weekName[i]spendList[i],在%之前,則是針對這兩個參數,進行的字串說明,也就是我剛說的帶有參數的字串。」

print ('%s,你花了 %s 元'%(weekName[i],spendList[i]))

Jason:「我們進一步看'%s,你花了 %s 元',這個字串裡面有兩個%s的符號,是 Python內建,在列印出字串時的格式,你就把想成是一種英文文法的規定好了,也就是說當程式的編譯器(翻譯電腦程式的機器),讀到%s這個符號會知道說,『歐,你想要印出參數!』,那在這個例子,這句話就包含了兩個參數一個是weekName[i]另外一個是spendList[i],這樣程式就能夠印出像人話的回饋!執行下面的程式就會看到像這樣」

spendList=[205,350,520,240,330,180,2000]
weekName=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
for i in range(7):
    print ('%s,你花了 %s 元'%(weekName[i],spendList[i]))

Meiko:「看起來這些符號對應的位置,就是weekName[i]spendList[i]的位置,所以你意思是這樣子,我們就可以讓串列裡面的內容,穿插在『你花了』這樣的文字中?」

Jason:「你記得原本的print(),只放了weekName[i]?現在我們把spendList[i]也放進去,讓程式印出來的內容比較人性化一些。」

Meiko:「原來是醬!這樣我就能夠讓電腦印出有人性的數據資料給我看拉!真不錯!不過,如果我想要...」

漸漸地 Meiko 也開始思考更多不同的程式寫法了...未完待續!

牛刀小試

我大寶寶~拉,今天還沒把所有的list內容講完,所以不急著出練習給大家,不過有沒有覺得前面幾天提到的print()if-else判斷式、for-loop都回來了?

沒錯!寫程式就是像這樣慢慢的堆疊,把先前學到的內容一步步的應用,才能真的融會貫通!

給大寶寶留言、分享、鼓勵

歡迎登入留言跟我分享你的想法唷!(登入不麻煩,點一下 FB 登入就可以留言了!)

1.喜歡這樣方式學 Python 的朋友請留言『+1』
2.如果前面的內容忘記了,趕快看一下大寶寶這一系列的看對話學 Python 資料分析,用情境故事帶你入門的列表!就能夠繼續 Happy Coding 囉!


上一篇
Day-5 想省時?讓程式幫你做重複的事情!學會 for- loop 迴圈的概念(下)
下一篇
Day-7 想成為資料分析師?熟悉基礎串列 list 運用準沒錯!(下)
系列文
看對話學 Python 資料分析,用情境故事帶你入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言